package estyle.auto.nkornilova.model;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;

//Сообщение бумажное/электронное
@XmlAccessorType(XmlAccessType.FIELD)
public class Message {

    public enum MessKind
    {
        PRIMARY,
        CORRECT,
        CANCEL
    };

    //Код состояния договора
    public enum ContractStatus
    {
        RESOURCE_OPENED,
        RESOURCE_CLOSED_BY_CLIENT,
        RESOURCE_CLOSED_BY_BANK,
        RESOURCE_CLOSED_BY_JUDGMENT
    };

    //Код состояния счета
    public enum AccStatus
    {
        CLOSED,
        OPENED
    };

    //Код валюты счета
    public enum AccCur
    {
        RUBLES,
        FOREIGN_CURRENCY
    };

    private String bankEMessageEnterDate;
    private String bankPMessageEnterDate;
    private String payerPMessageEnterDate;
    private boolean bankEMessage;
    //@XmlElement(name="bankPMessage")
    private boolean bankPMessage;
    private boolean payerPMessage;
    private String fileName;
    private String typeDisp;
    private String kind;   //enum MessKind
    private String status;
    private String docId;
    private String identifier;
    private String msgDate;
    private boolean personType; //Физ/Юрид лицо
    private String insurerName;
    private String stateRegCertSer;
    private String stateRegCertNum;
    private String clientOgrn;
    private String taxRegCertSer;
    private String taxRegCertNum;
    private String clientInn;
    private String clientKpp;
    private String bankShortName;
    private String taxAuthBank;
    private String bankInn;
    private String bankKpp;
    private String bankRepPosition;
    private String bankRepFullName;
    private String bankPhone;
    private String accNumber;
    private String contractStatus; //enum ContractStatus
    private String contractCreation;
    private String contractNumber;
    private String accStatus; //enum AccStatus
    private String accCurr; //enum AccCur
    private String accType;
    private String accOpenDate;

    //Filter Insurer   start
    private String insurerRegNum;
    private String insurerOgrn;
    private String insurerInn;
    private String insurerKpp;
    //Filter Insurer   end

    //Filter Bank   start
    private String bankBic;
    private String bankNumberAccount;
    private String bankRegNum;
    private String bankFullName;
    //Filter Bank   end


    public String getBankEMessageEnterDate() {
        return bankEMessageEnterDate;
    }

    public Message setBankEMessageEnterDate(String bankEMessageEnterDate) {
        this.bankEMessageEnterDate = bankEMessageEnterDate;
        return this;
    }

    public String getBankPMessageEnterDate() {
        return bankPMessageEnterDate;
    }

    public Message setBankPMessageEnterDate(String bankPMessageEnterDate) {
        this.bankPMessageEnterDate = bankPMessageEnterDate;
        return this;
    }

    public String getPayerPMessageEnterDate() {
        return payerPMessageEnterDate;
    }

    public Message setPayerPMessageEnterDate(String payerPMessageEnterDate) {
        this.payerPMessageEnterDate = payerPMessageEnterDate;
        return this;
    }

    public boolean isBankEMessage() {
        return bankEMessage;
    }

    public Message setBankEMessage(boolean bankEMessage) {
        this.bankEMessage = bankEMessage;
        return this;
    }

    public boolean isBankPMessage() {
        return bankPMessage;
    }

    public Message setBankPMessage(boolean bankPMessage) {
        this.bankPMessage = bankPMessage;
        return this;
    }

    public boolean isPayerPMessage() {
        return payerPMessage;
    }

    public Message setPayerPMessage(boolean payerPMessage) {
        this.payerPMessage = payerPMessage;
        return this;
    }

    public String getFileName() {
        return fileName;
    }

    public Message setFileName(String fileName) {
        this.fileName = fileName;
        return this;
    }

    public String getTypeDisp() {
        return typeDisp;
    }

    public Message setTypeDisp(String typeDisp) {
        this.typeDisp = typeDisp;
        return this;
    }

    public String getKind() {
        return kind;
    }

    public Message setKind(String kind) {
        this.kind = kind;
        return this;
    }

    public String getStatus() {
        return status;
    }

    public Message setStatus(String status) {
        this.status = status;
        return this;
    }

    public String getDocId() {
        return docId;
    }

    public Message setDocId(String docId) {
        this.docId = docId;
        return this;
    }

    public String getIdentifier() {
        return identifier;
    }

    public Message setIdentifier(String identifier) {
        this.identifier = identifier;
        return this;
    }

    public String getMsgDate() {
        return msgDate;
    }

    public Message setMsgDate(String msgDate) {
        this.msgDate = msgDate;
        return this;
    }


    public boolean isPersonType() {
        return personType;
    }

    public Message setPersonType(boolean personType) {
        this.personType = personType;
        return this;
    }

    public String getInsurerName() {
        return insurerName;
    }

    public Message setInsurerName(String insurerName) {
        this.insurerName = insurerName;
        return this;
    }

    public String getStateRegCertSer() {
        return stateRegCertSer;
    }

    public Message setStateRegCertSer(String stateRegCertSer) {
        this.stateRegCertSer = stateRegCertSer;
        return this;
    }

    public String getStateRegCertNum() {
        return stateRegCertNum;
    }

    public Message setStateRegCertNum(String stateRegCertNum) {
        this.stateRegCertNum = stateRegCertNum;
        return this;
    }

    public String getClientOgrn() {
        return clientOgrn;
    }

    public Message setClientOgrn(String clientOgrn) {
        this.clientOgrn = clientOgrn;
        return this;
    }

    public String getTaxRegCertSer() {
        return taxRegCertSer;
    }

    public Message setTaxRegCertSer(String taxRegCertSer) {
        this.taxRegCertSer = taxRegCertSer;
        return this;
    }

    public String getTaxRegCertNum() {
        return taxRegCertNum;
    }

    public Message setTaxRegCertNum(String taxRegCertNum) {
        this.taxRegCertNum = taxRegCertNum;
        return this;
    }

    public String getClientInn() {
        return clientInn;
    }

    public Message setClientInn(String clientInn) {
        this.clientInn = clientInn;
        return this;
    }

    public String getClientKpp() {
        return clientKpp;
    }

    public Message setClientKpp(String clientKpp) {
        this.clientKpp = clientKpp;
        return this;
    }

    public String getBankShortName() {
        return bankShortName;
    }

    public Message setBankShortName(String bankShortName) {
        this.bankShortName = bankShortName;
        return this;
    }

    public String getTaxAuthBank() {
        return taxAuthBank;
    }

    public Message setTaxAuthBank(String taxAuthBank) {
        this.taxAuthBank = taxAuthBank;
        return this;
    }

    public String getInsurerRegNum() {
        return insurerRegNum;
    }

    public Message setInsurerRegNum(String insurerRegNum) {
        this.insurerRegNum = insurerRegNum;
        return this;
    }

    public String getInsurerKpp() {
        return insurerKpp;
    }

    public Message setInsurerKpp(String insurerKpp) {
        this.insurerKpp = insurerKpp;
        return this;
    }

    public String getInsurerInn() {
        return insurerInn;
    }

    public Message setInsurerInn(String insurerInn) {
        this.insurerInn = insurerInn;
        return this;
    }

    public String getInsurerOgrn() {
        return insurerOgrn;
    }

    public Message setInsurerOgrn(String insurerOgrn) {
        this.insurerOgrn = insurerOgrn;
        return this;
    }

    public String getBankInn() {
        return bankInn;
    }

    public Message setBankInn(String bankInn) {
        this.bankInn = bankInn;
        return this;
    }

    public String getBankKpp() {
        return bankKpp;
    }

    public Message setBankKpp(String bankKpp) {
        this.bankKpp = bankKpp;
        return this;
    }


    public String getBankRepPosition() {
        return bankRepPosition;
    }

    public Message setBankRepPosition(String bankRepPosition) {
        this.bankRepPosition = bankRepPosition;
        return this;
    }

    public String getBankRepFullName() {
        return bankRepFullName;
    }

    public Message setBankRepFullName(String bankRepFullName) {
        this.bankRepFullName = bankRepFullName;
        return this;
    }

    public String getBankPhone() {
        return bankPhone;
    }

    public Message setBankPhone(String bankPhone) {
        this.bankPhone = bankPhone;
        return this;
    }

    public String getAccNumber() {
        return accNumber;
    }

    public Message setAccNumber(String accNumber) {
        this.accNumber = accNumber;
        return this;
    }

    public String getContractStatus() {
        return contractStatus;
    }

    public Message setContractStatus(String contractStatus) {
        this.contractStatus = contractStatus;
        return this;
    }

    public String getContractCreation() {
        return contractCreation;
    }

    public Message setContractCreation(String contractCreation) {
        this.contractCreation = contractCreation;
        return this;
    }

    public String getContractNumber() {
        return contractNumber;
    }

    public Message setContractNumber(String contractNumber) {
        this.contractNumber = contractNumber;
        return this;
    }

    public String getAccStatus() {
        return accStatus;
    }

    public Message setAccStatus(String accStatus) {
        this.accStatus = accStatus;
        return this;
    }

    public String getAccCurr() {
        return accCurr;
    }

    public Message setAccCurr(String accCurr) {
        this.accCurr = accCurr;
        return this;
    }

    public String getAccType() {
        return accType;
    }

    public Message setAccType(String accType) {
        this.accType = accType;
        return this;
    }

    public String getAccOpenDate() {
        return accOpenDate;
    }

    public Message setAccOpenDate(String accOpenDate) {
        this.accOpenDate = accOpenDate;
        return this;
    }

    public String getBankBic() {
        return bankBic;
    }

    public String getBankRegNum() {
        return bankRegNum;
    }

    public String getBankNumberAccount() {
        return bankNumberAccount;
    }

    public String getBankFullName() {
        return bankFullName;
    }

}
